#定义一个加密解密类
class code:
    #类的初始化函数
    def __init__(self):
        self.s="太原理工大学软件学院"
        self.list_m=[]#保存加密后的信息
        self.list_n=[]#保存解密后的信息
        self.list_num=[]
    #加密函数
    def guest(self):
        print("请输入你要加密的字符串：")
        s=input()
        print("原始内容为：{}".format(s))
        print("\r加密内容为：",end="")
        for i in range(len(s)):
            '''将原字符串每一项找到对应的unicode编码然后进行自定义格式加密,
                再将加密后的编码转换成对应的字符保存到列表中
            '''
            self.list_m.append(chr(ord(s[i]) + i * i + i * (i - 1)))
            print(self.list_m[i],end="")#输出加密后的信息
        print()
    #解密函数
    def know(self):
        print("请输入你要解密的文字：")
        str=input()
        print("原始内容为：{}".format(str))
        print("解密内容为：", end="")

        self.list_num=list(str)
        for i in range(len(self.list_num)):
            '''将加密字符串每一项找到对应的unicode编码然后进行自定义格式解密,
               再将解密后的编码转换成对应的字符保存到列表中
            '''
            self.list_n.append(chr(ord(self.list_num[i]) - i * i - i * (i - 1)))
            print(self.list_n[i],end="")#输出解密信息
        print()
    #选择函数
    def choose(self):
        print("请选择你要进行的操作：1表示加密，2表示解密：",end="")
        num=input()
        if num==str(1):
            code.guest(self)#调用加密函数
        if num==str(2):
            code.know(self)#调用解密函数
        else:
            return code.choose(self)#重新选择
#创建对象，调用选择函数
c=code()
c.choose()